#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<stdio.h>
//
//union S {
//	short a;
//	char b[2];
//}*s1,s2;
//
//int main() {
//	s1 = &s2;
//	s1->b[0] = 0x39;
//	s1->b[1] = 0x38;
//	printf("%x\n", s1->b[0]);
//	return 0;
//}
//
//#include<stdio.h>
//#include<stdlib.h>
//#include<string.h>
//#include<errno.h>
//
//int main() {
//	int* p = (int*)malloc(20);
//	if (p == NULL) {
//		printf("malloc->:%s\n", strerror(errno));
//		return 1;
//	}
//	for (int  i = 0; i < 5; i++) {
//		*(p + i) = i + 1;
//	}
//	for (int j = 0; j < 5; j++) {
//		printf("%d ", p[j]);
//	}
//	free(p);
//	p = NULL;
//	return 0;
//}

//
//#include<stdio.h>
//#include<stdlib.h>
//
//int main() {
//	char* p = (char*)calloc(4,1);
//	if (p == NULL) {
//		perror("calloc");
//		return 2;
//	}
//	//for (int i = 0; i < 4; i++) {
//	//	scanf("%d", &p[i]);
//	//	/*p[i] = i + 1;*/
//	//}
//	//for (int j = 0; j < 4; j++) {
//	//	printf("%d ", p[j]);
//	//}
//	gets(p);
//	puts(p);
//	p = NULL;
//	return 0;
//}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>

int main() {
	/*int j;
	printf("%d\n", j);*/
	int* p = (int*)malloc(16);
	if (p == NULL) {
		perror("malloc->:");
		return 0;
	}

	int* pos = (int*)realloc(p, 24000);
	if (pos == NULL) {
		printf("recalloc -> %s\n", strerror(errno));
		return 1;
	}
	for (int i = 0; i < 4; i++) {
		*(p + i) = i + 1;
	}
	for (int j = 4; j < 6; j++) {
		p[j] = j + 1;
	}

	for (int j = 0; j < 6; j++) {
		printf("%d ", p[j]);
	}
	p = pos;
	free(p);
	p = NULL;
	return 0;
}